#ifndef _UTILEX_JSON_HPP_
#define _UTILEX_JSON_HPP_

#include <crt_util.h>

#ifdef __cplusplus

struct json_sentry {
    static void* default_value() { return 0; }
    template <class _Ptr> static bool equal_to(_Ptr l, _Ptr r) { return l == r; }
    template <class _Ptr> static void destroy(_Ptr p)
    {
        if (p != NULL)
            sjson_delete(p);
    }
};

typedef SafePtr<sjsonptr, json_sentry> JsonSafePtr;

#endif

#endif
